package com.ruoyi.app.dyh.hxf.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.Date;

public class Active extends BaseEntity {
    private static final long serialVersionUID = 1L;

    Organization organization;

    public Organization getOrganization() {
        return organization;
    }

    public void setOrganization(Organization organization) {
        this.organization = organization;
    }

    /**
     * $column.columnComment
     */
    @Excel(name = "活动id")
    private String activeId;

    @Excel(name = "活动标题")
    @NotBlank(message = "活动标题不能为空")
    @Size(max = 64, message = "活动标题不能超过64个字符")
    private String activeTitle;

    @Excel(name = "活动简介")
    @NotBlank(message = "活动简介不能为空")
    @Size(max = 500, message = "活动简介不能超过64个字符")
    private String description;

    @Excel(name = "活动开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    @Excel(name = "活动结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    @Excel(name = "活动地点")
    private String address;

    @Excel(name = "参与活动的人")
    private String activeUserId;

    @Excel(name = "参与人数")
    private Integer limit;

    @Excel(name = "所属队伍ID")
    private Integer teamID;

    @Excel(name = "状态（0未开始，1进行中，2已结束）")
    private Integer status;

    @Excel(name = "活动照片地址")
    private String photo;

    @Excel(name = "活动类型（1服务队活动，2暖心团活动）")
    private Integer type;

    @Excel(name = "所属队伍名字")
    private String teamName;

    public String getActiveId() {
        return activeId;
    }

    public void setActiveId(String activeId) {
        this.activeId = activeId;
    }

    public String getActiveTitle() {
        return activeTitle;
    }

    public void setActiveTitle(String activeTitle) {
        this.activeTitle = activeTitle;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getActiveUserId() {
        return activeUserId;
    }

    public void setActiveUserId(String activeUserId) {
        this.activeUserId = activeUserId;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getTeamID() {
        return teamID;
    }

    public void setTeamID(Integer teamID) {
        this.teamID = teamID;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getPhoto() {
        return photo;
    }

    public void setPhoto(String photo) {
        this.photo = photo;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getTeamName() {
        return teamName;
    }

    public void setTeamName(String teamName) {
        this.teamName = teamName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("activeId", getActiveId())
                .append("activeTitle", getActiveTitle())
                .append("description", getDescription())
                .append("startTime", getStartTime())
                .append("endTime", getEndTime())
                .append("address", getAddress())
                .append("activeUserId", getActiveUserId())
                .append("limit", getLimit())
                .append("teamID", getTeamID())
                .append("teamName", getTeamName())
                .append("status", getStatus())
                .append("photo", getPhoto())
                .append("type", getType())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("createBy", getCreateBy())
                .append("updateBy", getUpdateBy())
                .append("isDelete", getIsDelete())
                .append("remark", getRemark())
                .toString();
    }
}
